/* include ---------------------------------------------------------*/
#include "flash_dev.h"


/* private define -------------------------------------------------*/


/* private variables ----------------------------------------------*/
// uint32_t Can_Speed = 0;
// uint32_t Udp_Port = 0;

// /* private function prototypes ------------------------------------*/


// /* public variables -----------------------------------------------*/

// /**
//   * @brief  获取CAN速率
//   * @param  None
//   * @retval None
//   * @note   None
// */
// static void Flash_Get_Can_Speed(void)
// {
//     nvs_handle_t nvs_config;
//     esp_err_t err = nvs_open("storage", NVS_READONLY, &nvs_config);
//     if(err != ESP_OK)
//     {
//         printf("Opening NVS ERR Can_Speed!\n");
//     }
//     else
//     {
//         //第一次烧写程序 读失败默认设置为500K
//         Can_Speed = 500;
//     }

//     if((nvs_get_u32(nvs_config,"can_speed",&Can_Speed)) == ESP_OK)
//     {
//         printf("Read Can Speed = %dK\n",Can_Speed);
//     }
//     nvs_close(nvs_config);
// }


// /**
//   * @brief  设置CAN速率
//   * @param  None
//   * @retval None
//   * @note   None
// */
// void Flash_Write_Can_Speed(uint32_t speed)
// {
//     nvs_handle_t nvs_config;
//     esp_err_t err = nvs_open("storage", NVS_READWRITE, &nvs_config);
//     if(err != ESP_OK)
//     {
//         printf("Opening NVS ERR Can_Speed!\n");
//     }

//     if((nvs_set_u32(nvs_config,"can_speed",speed)) == ESP_OK)
//     {
//         printf("Write Can_Speed = 0x%X\n",speed);
//     }
//     nvs_close(nvs_config);
// }

// /**
//   * @brief  获取UDP端口
//   * @param  None
//   * @retval None
//   * @note   None
// */
// static void Flash_Get_Udp_Port(void)
// {
//     nvs_handle_t nvs_config;
//     esp_err_t err = nvs_open("storage", NVS_READONLY, &nvs_config);
//     if(err != ESP_OK)
//     {
//         printf("Opening NVS ERR Udp_Port!\n");
//     }
//     else
//     {
//         //第一次烧写程序 读失败默认设置为500K
//         Udp_Port = 5900;
//     }

//     if((nvs_get_u32(nvs_config,"udp_port",&Udp_Port)) == ESP_OK)
//     {
//         printf("Read Udp_Port = %d\n",Udp_Port);
//     }
//     nvs_close(nvs_config);
// }


// /**
//   * @brief  设置CAN速率
//   * @param  None
//   * @retval None
//   * @note   None
// */
// void Flash_Write_Udp_Port(uint32_t port)
// {
//     nvs_handle_t nvs_config;
//     esp_err_t err = nvs_open("storage", NVS_READWRITE, &nvs_config);
//     if(err != ESP_OK)
//     {
//         printf("Opening NVS ERR Udp_Port!\n");
//     }

//     if((nvs_set_u32(nvs_config,"udp_port",port)) == ESP_OK)
//     {
//         printf("Write Udp_Port = 0x%X\n",port);
//     }
//     nvs_close(nvs_config);
// }

/**
  * @brief  NVS初始化
  * @param  None
  * @retval None
  * @note   None
*/
void NVS_Flash_Init(void)
{
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND)
    {
        // NVS partition was truncated and needs to be erased
        // Retry nvs_flash_init
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
}
